:host {
  font-size: 13px;
  // Width is container width minus content width
  width: 24%;
  position: sticky;
  top: 0;
  padding-left: 25px;
  box-sizing: border-box;
  display: inline-flex;
  flex-direction: column;
  max-height: calc(100vh - 120px);
  overflow: auto;
}

.docs-toc-container {
  border-left: solid 4px var(--mat-sys-primary-container);

  .docs-link {
    color: var(--mat-sys-on-surface);

    &:hover,
    &.docs-active {
      color: var(--mat-sys-primary);
    }
  }
  width: 100%;
  padding: 8px 0 8px 16px;
  box-sizing: border-box;

  & + .docs-toc-container {
    padding-top: 12px;
  }
}

.docs-toc-heading {
  margin: 0;
  padding: 0;
  font-size: 13px;
  font-weight: bold;
  text-transform: capitalize;
}

a {
  line-height: 16px;
  margin: 8px 0 0;
  position: relative;
  text-decoration: none;
  display: block;
  text-overflow: ellipsis;
  width: 100%;
  overflow: hidden;
}

.docs-level-h4 {
  padding-left: 12px;
  box-sizing: border-box;
}
